package com.bolt.report.annotation;

import com.bolt.report.definition.Align;
import com.bolt.report.definition.DataExpand;
import com.bolt.report.definition.SortOrder;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Element {

    String value() default "";

    String desc() default "";

    String expression() default "";

    Class<?> valueClass() default String.class;

    int width() default 0;

    boolean hide() default false;

    boolean group() default false;

    boolean sort() default false;

    SortOrder sortOrder() default SortOrder.ASC;

    DataExpand expend() default DataExpand.NONE;

    Style style() default @Style(fontSize = 10, align = Align.center, valign = Align.middle);


}